package com.loong.system.common.backend.param;


import com.loong.common.validator.group.CommonInsert;
import com.loong.common.validator.group.CommonUpdate;
import lombok.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
@Builder
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class SystemConfigureParam {
    @NotNull(groups = {CommonUpdate.class},message = "id不能为空")
    private Long id;

    /**
     * 位置id
     */
    @NotNull(message = "新增、更新时位置id不能为空",groups = {CommonUpdate.class, CommonInsert.class})
    private Long positionId;

    /**
     * 位置code
     */
    @NotBlank(message = "新增、更新时位置code不能为空",groups = {CommonUpdate.class, CommonInsert.class})
    private String positionCode;
    /**
     * 配置名称
     */
    @NotBlank(message = "新增、更新时配置名称不能为空",groups = {CommonInsert.class})
    private String configName;

    /**
     *
     * 配置类型(1->seller 2->shop 3->picture 4->picture_seller 5->picture_shop 6->unknown)
     */
    @NotBlank(message = "新增、更新时配置类型不能为空",groups = {CommonInsert.class})
    private String configType;

    /**
     * 配置key
     */
    @NotNull(message = "新增、更新时配置key不能为空",groups = {CommonInsert.class})
    private String configKey;

    /**
     * 动作类型(0->无操作 1->跳转超链接 2->跳转商家  3->跳转商品 4->弹窗)
     */
    @NotNull(message = "新增、更新时动作类型不能为空",groups = {CommonInsert.class})
    private Integer actionType;

    /**
     * 动作标题
     */
    @NotBlank(message = "新增、更新时动作标题不能为空",groups = { CommonInsert.class})
    private String actionTitle;

    /**
     * 配置图片
     */
    @NotBlank(message = "新增、更新时配置图片不能为空",groups = {CommonInsert.class})
    private String configImage;

    /**
     * 开始时间
     */
    @NotNull(message = "新增、更新时开始时间不能为空",groups = {CommonInsert.class})
    private Date startTime;

    /**
     * 结束时间
     */
    @NotNull(message = "新增、更新时结束时间名称不能为空",groups = {CommonInsert.class})
    private Date endTime;

    /**
     * 动作内容
     */
    @NotBlank(message = "新增、更新时动作内容不能为空",groups = {CommonInsert.class})
    private String actionContent;

    /**
     * 配置内容
     */
    @NotBlank(message = "新增、更新时配置内容不能为空",groups = {CommonInsert.class})
    private String configContent;
    /**
     * 启用状态
     */
    private Boolean configStatus;

    /**
     * 排序位置
     */
    @NotNull(message = "新增、更新时排序不能为空",groups = {CommonInsert.class})
    private Integer sort;
}
